-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Extensions #1705
Closed
Closed
WIP: Extensions #1705
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Holt59
force-pushed
the
extensions
branch
6 times, most recently
from
July 9, 2023 20:15
194e705
to
031f023
Compare
Replaced by #1848 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New extensions sytem, WIP.
Add a new extensions systems to MO2:
The main goal is to add more flexibility to the current plugin system, by including themes and translations, and to allow users to install extensions for a "Marketplace", similar to the one existing for Python. Hopefully, this will let us update extensions faster than MO2 to release fixes and new features.
There are 4 type of extensions:
theme
- Provide one or more main themes for MO2, such as VS15 Dark or Skyrim, see thevs15-dark-themes
andskyrim-theme
archives.translations
- Provide one or more main translations for MO2, seebase-translations
which contain translations for MO2 and Qt.plugins
- Provide one or more plugins (old-style plugins), alongside translations and themes (for existing themes).game
- Provide support for one or more game (basically aplugins
extension for now).Each extension is a folder in the
extensions
folder, with amo2-metadata.json
file describing the extension. The goal is to use that file to create the marketplace.Changes
PluginContainer
is replaced byPluginManager
- The main reason was to start from scratch to avoid issue, but it's very similar toPluginContainer
.IPluginProxy
is replaced withIPluginLoader
, that is NOT aIPlugin
. There is a standard loader embedded in MO2 (ProxyQtLoader
), and the python proxy is now atplugins/proxies
.TODO (probably incomplete)
name()
,localizedName()
,settings()
should be the only remainingIPlugin
methods.mob
and CMake stuff to put files in the right place.Examples of extension:
base-translations.zip
game-tes-fallout.zip
installer-manual.zip
skyrim-theme.zip
vs15-dark-themes.zip